package com.aidex.biz.domain;

import com.aidex.common.annotation.Excel;
import com.aidex.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 客户协助对象 biz_customer_xiezu
 *
 * @author sean
 * @email 2074844820@qq.com
 * @date 2023-11-29
 */
@Data
public class CustomerXiezu extends BaseEntity<CustomerXiezu> {
    private static final long serialVersionUID = 1L;


    /**
     * 客户ID
     */
    @Excel(name = "客户ID")
    private String customerId;

    /**
     * 客户ids(批量协助)
     */
    @Excel(name = "客户ID")
    private String[] customerIds;
    /**
     * 协助的用户ID
     */
    @Excel(name = "协助的用户ID")
    private String xiezuUserId;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 状态（0正常 1 停用）
     */
    private String status;

    private String[] xiezuUsers;
    private String[] xiezuUserNames;

    private String xiezuName;
    private String xiezuDeptName;
    private String xiezuPhonenumber;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称")
    private String cusName;
    private String cityName;
    /**
     * 电话
     */
    @Excel(name = "电话")
    private String phone;
    /**
     * 申请金额
     */
    @Excel(name = "申请金额")
    private String amount;

    private String carModel;

    private String carNo;

    private String carStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date receiveTime;
    private String ownType;
    private String laiyuan;
    private String pgPrice;
    private String genjin;
    private String nameOrPhone;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
    private Integer isHeart;
    /**
     * 查询 条件使用
     */
    private Integer createdWithinDays;// 新增限制天数
    private Integer expiredWithinDays;// 超时未跟进限制天数
    // 最小评估价
    private String pgPriceMin;
    //最大评估价
    private String pgPriceMax;
    private String progress;
    private Integer level;
    private String[] levels;
    //多选跟进状态
    private String[] progressMultiple;
    //多选来源
    private String[] laiyuanMultiple;
    /**
     * 推送表信息
     */

    private List<PushCustomer> pushList;
    /**
     * 跟进记录
     */
    private List<CustomerShadowInfo> shadowList;

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public String getXiezuUserId() {
        return xiezuUserId;
    }

    public void setXiezuUserId(String xiezuUserId) {
        this.xiezuUserId = xiezuUserId;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("userId", getUserId())
                .append("deptId", getDeptId())
                .append("userName", getUserName())
                .append("deptName", getDeptName())
                .append("companyId", getCompanyId())
                .append("customerId", getCustomerId())
                .append("xiezuUserId", getXiezuUserId())
                .append("sort", getSort())
                .append("status", getStatus())
                .append("remark", getRemark())
                .append("id", getId())
                .append("createBy", getCreateBy())
                .append("createDept", getCreateDept())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("updateIp", getUpdateIp())
                .append("version", getVersion())
                .append("delFlag", getDelFlag())
                .toString();
    }
}
